Fastest Google Maps Reviews Scraper With Images & Videos avatar

Fastest Google Maps Reviews Scraper With Images & Videos

Pricing

from $0.25 / 1,000 reviews

Go to Apify Store
Fastest Google Maps Reviews Scraper With Images & Videos

Fastest Google Maps Reviews Scraper With Images & Videos

Scrape every review of any business on Google Maps: star rating, full text, reviewer name and profile, owner responses, review photos, videos and dates. Paste a Maps URL or place ID, choose how to sort, and export clean JSON.

Pricing

from $0.25 / 1,000 reviews

Rating

0.0

(0)

Developer

Veronica

Veronica

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Google Maps Reviews Scraper

Google Maps Reviews Scraper extracts every review of any business on Google Maps — star rating, full text, reviewer profile, owner responses, photos, and dates — and downloads them as JSON, CSV, Excel, or XML. It runs in the cloud, needs no coding, and no Google API key.

Try it right away: paste a Google Maps place URL into the input form, click Start, and watch the dataset fill up with structured review data.

What data does it extract?

Each result is one review, with the business it belongs to nested in a place object:

DataDetails
💬 Reviewfull text, original-language text, translated text, star rating, like count, source
🗓️ Dateswhen the review was published and last edited (ISO 8601)
👤 Reviewernested reviewer object: name, profile URL, photo, ID, total reviews written, Local Guide status
🏢 Owner responsethe business's reply text and date, when present
📷 Photos & videosevery image and video attached to the review — playable video URLs, image URLs, and dimensions
📍 Placenested place object: name, address, category, coordinates, overall rating, total review count, place ID, URL

How do I scrape Google Maps reviews?

  1. Add a place — paste one or more Google Maps URLs (google.com/maps/place/…, or short maps.app.goo.gl links). You can also supply place IDs directly.
  2. Choose how many — set Maximum reviews per place, or use 0 to scrape all of them.
  3. Pick a sort order — Newest, Most relevant, Highest rating, or Lowest rating.
  4. Filter the content (optional) — keep all reviews, only those with text, or only those with text and media (photos/videos).
  5. Click Start — then download the results from the Storage tab in any format, or send them anywhere using integrations.

How do I find a place's URL?

Open Google Maps, search for the business, click it, and copy the URL from your browser's address bar. Each URL contains the place's ID (the 0x…:0x… value), which is what the scraper uses.

Input example

{
"startUrls": [
{ "url": "https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/data=!4m6!3m5!1s0x89c2598f7ff4aa09:0x313547e757cb8cea!8m2!3d40.722233!4d-73.987429" }
],
"maxReviews": 100,
"reviewsSort": "newest",
"language": "en",
"personalData": true
}

You can also target places by ID instead of URL:

{
"placeIds": ["0x89c2598f7ff4aa09:0x313547e757cb8cea"],
"maxReviews": 0
}

Output example (abridged)

{
"place": {
"placeId": "0x89c2598f7ff4aa09:0x313547e757cb8cea",
"title": "Katz's Delicatessen",
"address": "205 E Houston St, New York, NY 10002, United States",
"categoryName": "Deli",
"categories": ["Deli"],
"location": { "lat": 40.722233, "lng": -73.987429 },
"totalScore": 4.5,
"reviewsCount": 53374,
"url": "https://www.google.com/maps/place/…"
},
"reviewId": "Ci9DQUlRQUNvZ…",
"reviewer": {
"id": "1002…",
"name": "Jane D.",
"url": "https://www.google.com/maps/contrib/1002…",
"photoUrl": "https://lh3.googleusercontent.com/…",
"numberOfReviews": 197,
"isLocalGuide": true
},
"stars": 5,
"text": "Best pastrami in NYC. The line moves fast and the portions are huge.",
"textTranslated": null,
"originalLanguage": "en",
"publishedAtDate": "2026-02-04T05:28:13.519Z",
"lastEditedAtDate": "2026-02-04T05:28:13.519Z",
"reviewImageUrls": ["https://lh3.googleusercontent.com/…"],
"reviewVideoUrls": ["https://lh3.googleusercontent.com/…"],
"reviewMedia": [
{ "type": "video", "url": "https://…", "thumbnailUrl": "https://…", "width": 1920, "height": 864, "caption": null }
],
"responseFromOwnerText": null,
"responseFromOwnerDate": null
}

Input reference

FieldTypeDescription
startUrlsarrayGoogle Maps place URLs to scrape. One business per URL.
placeIdsarrayPlace feature IDs (0x…:0x…) — an alternative to full URLs.
maxReviewsintegerReviews per place. 0 = all available. Default 100. Counts only reviews kept after filtering.
reviewsSortstringnewest, mostRelevant, highestRanking, or lowestRanking. Default newest.
reviewsContentFilterstringall, textOnly (has text), or textAndMedia (has text + at least one photo/video). Default all.
searchQuerystringKeyword/phrase to search reviews for (e.g. delivery). Only matching reviews are fetched. Leave empty for all.
languagestringUI/output language code, e.g. en, fr, de, es. Default en.
personalDatabooleanInclude reviewer name, profile, photo, and review URL. Default true.

Why scrape Google Maps reviews?

  • Reputation monitoring — track what customers say about your locations over time.
  • Competitor analysis — benchmark ratings and sentiment against nearby businesses.
  • Customer insight — mine review text for recurring praise and complaints.
  • Lead generation & research — gather reviewer and business data at scale.

Pricing

This Actor uses pay-per-event pricing: a small fee when a run starts, plus a fee per review delivered. You only pay for the reviews you actually receive — set Maximum reviews per place to control your spend.

Notes

  • The Actor routes through Apify Proxy automatically for reliable scraping — no proxy setup needed on your end.
  • Reviewer personal data is publicly visible on Google Maps. Make sure your use complies with Google's terms and applicable data-protection laws (e.g. GDPR). Turn off Include reviewer personal data if you don't need it.